/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @format
 */

/**
 * Creating a sidebar enables you to:
 - create an ordered group of docs
 - render a sidebar for each doc of that group
 - provide next/previous navigation

 The sidebars can be generated from the filesystem, or explicitly defined here.

 Create as many sidebars as you want.
 */

module.exports = {
  // Four-pillar documentation structure: Tutorials → How-to → Concepts → Reference
  sidebar: [
    "index",
    {
      type: "category",
      label: "Tutorials",
      collapsed: false,
      collapsible: false,
      items: [
        { type: "autogenerated", dirName: "tutorials" },
        {
          type: "category",
          label: "Getting Started",
          items: [{ type: "autogenerated", dirName: "getting-started" }],
        },
      ],
    },
    {
      type: "category",
      label: "How-to Guides",
      collapsed: false,
      collapsible: false,
      items: [{ type: "autogenerated", dirName: "how-to" }],
    },
    {
      type: "category",
      label: "Concepts",
      collapsed: false,
      collapsible: false,
      items: [{ type: "autogenerated", dirName: "concepts" }],
    },
    {
      type: "category",
      label: "Components",
      collapsed: false,
      collapsible: true,
      items: [
        {
          type: "category",
          label: "Model I/O",
          items: [{ type: "autogenerated", dirName: "modules/model_io" }],
        },
        {
          type: "category", 
          label: "Data Connection",
          items: [{ type: "autogenerated", dirName: "modules/data_connection" }],
        },
        {
          type: "category",
          label: "Chains",
          items: [{ type: "autogenerated", dirName: "modules/chains" }],
        },
        {
          type: "category",
          label: "Memory",
          items: [{ type: "autogenerated", dirName: "modules/memory" }],
        },
        {
          type: "category",
          label: "Agents",
          items: [{ type: "autogenerated", dirName: "modules/agents" }],
        },
      ],
    },
    {
      type: "category",
      label: "Contributing",
      collapsed: false,
      collapsible: false,
      items: [{ type: "autogenerated", dirName: "contributing" }],
    },
    {
      type: 'link',
      label: 'API Reference',
      href: 'https://pkg.go.dev/github.com/tmc/langchaingo',
    },
  ],
};
